#ifndef HAL_SCI_H
#define HAL_SCI_H

#include <stdint.h>
#include <stdbool.h>
#include <driverlib.h>

/**
 * @brief 初始化SCI（UART）模块，配置为指定波特率和常用8N1格式。
 * @param base SCI外设基地址，如SCIA_BASE
 * @param lspclk LSPCLK时钟频率
 * @param baudrate 波特率
 */
void hal_sci_init(uint32_t base, uint32_t lspclk, uint32_t baudrate);

/**
 * @brief 发送单字节
 */
void hal_sci_send_byte(uint32_t base, uint8_t data);

/**
 * @brief 发送缓冲区
 */
void hal_sci_send_buffer(uint32_t base, const uint8_t *data, uint32_t len);

/**
 * @brief 轮询收一个字节（如有需要可扩展为带超时）
 * @return 收到的字节，或-1表示无数据
 */
int hal_sci_recv_byte(uint32_t base);

#endif // HAL_SCI_H
